package com.jrx.anytxn.param.dto.product;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 表:分期手续费 请求参数表
 *
 * @author 90443
 * @date 2019-04-30
 */
@ApiModel(description = "分期手续费InstallmentFeeTableReq")
public class InstallmentFeeTableReq implements Serializable {
    
    private static final long serialVersionUID = -5417176060543648030L;
    /**
     * 主键
     * 表字段:id
     */
    @ApiModelProperty(value = "主键id", name = "id")
    private Long id;

    /**
     * 租戶id
     * 表字段:tenant_id
     */
    @ApiModelProperty(value = "租户ID")
    private String tenantId;

    /**
     * 费用表id
     * 表字段:installment_fee_id
     */
    @ApiModelProperty(value = "费用表id", name = "installmentFeeId")
    private String installmentFeeId;

    /**
     * 费用表机构号
     * 表字段:organization_id
     */
    @ApiModelProperty(value = "费用表机构号", name = "organizationId")
    private String organizationId;

    /**
     * 中文名称
     * 表字段:chinese_name
     */
    @ApiModelProperty(value = "中文名称", name = "chineseName")
    private String chineseName;

    /**
     * 英文名称
     * 表字段:english_name
     */
    @ApiModelProperty(value = "英文名称", name = "englishName")
    private String englishName;

    /**
     * 状态
     * 表字段:status
     */
    @ApiModelProperty(value = "状态", name = "status")
    private String tableStatus;

    /**
     * 费用表类型
     * 表字段:type
     */
    @ApiModelProperty(value = "费用表类型", name = "type")
    private String tableType;

    /**
     * 费用计算基础
     * 表字段:charge_basis
     */
    @ApiModelProperty(value = "费用计算基础", name = "chargeBasis")
    private String chargeBasis;

    /**
     * 费用收取频率
     * 表字段:charge_frequency
     */
    @ApiModelProperty(value = "费用收取频率", name = "chargeFrequency")
    private String chargeFrequency;

    /**
     * 费用收取时间
     * 表字段:generate_time
     */
    @ApiModelProperty(value = "费用收取时间", name = "generateTime")
    private String generateTime;

    /**
     * 费用收取方式
     * 表字段:charge_option
     */
    @ApiModelProperty(value = "费用收取方式", name = "chargeOption")
    private String chargeOption;

    /**
     * 费用收取比例，费用收取方式为0时有效
     * 表字段:charge_percent
     */
    @ApiModelProperty(value = "费用收取比例，费用收取方式为0时有效", name = "charge_percent")
    private BigDecimal chargePercent;

    /**
     * 费用固定值，费用收取方式为1时有效
     * 表字段:fixed_amount
     */
    @ApiModelProperty(value = "费用固定值，费用收取方式为1时有效", name = "fixedAmount")
    private BigDecimal fixedAmount;

    /**
     * 费用产生利息标志
     * 表字段:int_on_fee_flag
     */
    @ApiModelProperty(value = "费用产生利息标志", name = "intOnFeeFlag")
    private String intOnFeeFlag;

    /**
     * 最大费用值
     * 表字段:max_amount
     */
    @ApiModelProperty(value = "最大费用值", name = "maxAmount")
    private BigDecimal maxAmount;

    /**
     * 最小费用值
     * 表字段:min_amount
     */
    @ApiModelProperty(value = "最小费用值", name = "minAmount")
    private BigDecimal minAmount;

    /**
     * 交易码
     * 表字段:txn_code
     */
    @ApiModelProperty(value = "交易码", name = "txnCode")
    private String txnCode;

    /**
     * 最后更新操作员
     * 表字段:update_by
     */
    private String updateBy;


    /**
     * 获取主键
     *
     * @return id Long
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置主键
     *
     * @param id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取费用表id
     *
     * @return installmentFeeId String
     */
    public String getInstallmentFeeId() {
        return installmentFeeId;
    }

    /**
     * 设置费用表id
     *
     * @param installmentFeeId
     */
    public void setInstallmentFeeId(String installmentFeeId) {
        this.installmentFeeId = installmentFeeId;
    }

    /**
     * 获取费用表机构号
     *
     * @return organizationId String
     */
    public String getOrganizationId() {
        return organizationId;
    }

    /**
     * 设置费用表机构号
     *
     * @param organizationId
     */
    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId;
    }

    /**
     * 获取中文名称
     *
     * @return chineseName String
     */
    public String getChineseName() {
        return chineseName;
    }

    /**
     * 设置中文名称
     *
     * @param chineseName
     */
    public void setChineseName(String chineseName) {
        this.chineseName = chineseName;
    }

    /**
     * 获取英文名称
     *
     * @return englishName String
     */
    public String getEnglishName() {
        return englishName;
    }

    /**
     * 设置英文名称
     *
     * @param englishName
     */
    public void setEnglishName(String englishName) {
        this.englishName = englishName;
    }

    public String getTableStatus() {
        return tableStatus;
    }

    public void setTableStatus(String tableStatus) {
        this.tableStatus = tableStatus;
    }

    public String getTableType() {
        return tableType;
    }

    public void setTableType(String tableType) {
        this.tableType = tableType;
    }

    /**
     * 获取费用计算基础
     *
     * @return chargeBasis String
     */
    public String getChargeBasis() {
        return chargeBasis;
    }

    /**
     * 设置费用计算基础
     *
     * @param chargeBasis
     */
    public void setChargeBasis(String chargeBasis) {
        this.chargeBasis = chargeBasis;
    }

    /**
     * 获取费用收取频率
     *
     * @return chargeFrequency String
     */
    public String getChargeFrequency() {
        return chargeFrequency;
    }

    /**
     * 设置费用收取频率
     *
     * @param chargeFrequency
     */
    public void setChargeFrequency(String chargeFrequency) {
        this.chargeFrequency = chargeFrequency;
    }

    /**
     * 获取费用收取时间
     *
     * @return generateTime String
     */
    public String getGenerateTime() {
        return generateTime;
    }

    /**
     * 设置费用收取时间
     *
     * @param generateTime
     */
    public void setGenerateTime(String generateTime) {
        this.generateTime = generateTime;
    }

    /**
     * 获取费用收取方式
     *
     * @return chargeOption String
     */
    public String getChargeOption() {
        return chargeOption;
    }

    /**
     * 设置费用收取方式
     *
     * @param chargeOption
     */
    public void setChargeOption(String chargeOption) {
        this.chargeOption = chargeOption;
    }

    /**
     * 获取费用收取比例，费用收取方式为0时有效
     *
     * @return chargePercent BigDecimal
     */
    public BigDecimal getChargePercent() {
        return chargePercent;
    }

    /**
     * 设置费用收取比例，费用收取方式为0时有效
     *
     * @param chargePercent
     */
    public void setChargePercent(BigDecimal chargePercent) {
        this.chargePercent = chargePercent;
    }

    /**
     * 获取费用固定值，费用收取方式为1时有效
     *
     * @return fixedAmount BigDecimal
     */
    public BigDecimal getFixedAmount() {
        return fixedAmount;
    }

    /**
     * 设置费用固定值，费用收取方式为1时有效
     *
     * @param fixedAmount
     */
    public void setFixedAmount(BigDecimal fixedAmount) {
        this.fixedAmount = fixedAmount;
    }

    /**
     * 获取费用产生利息标志
     *
     * @return intOnFeeFlag String
     */
    public String getIntOnFeeFlag() {
        return intOnFeeFlag;
    }

    /**
     * 设置费用产生利息标志
     *
     * @param intOnFeeFlag
     */
    public void setIntOnFeeFlag(String intOnFeeFlag) {
        this.intOnFeeFlag = intOnFeeFlag;
    }

    /**
     * 获取最大费用值
     *
     * @return maxAmount BigDecimal
     */
    public BigDecimal getMaxAmount() {
        return maxAmount;
    }

    /**
     * 设置最大费用值
     *
     * @param maxAmount
     */
    public void setMaxAmount(BigDecimal maxAmount) {
        this.maxAmount = maxAmount;
    }

    /**
     * 获取最小费用值
     *
     * @return minAmount BigDecimal
     */
    public BigDecimal getMinAmount() {
        return minAmount;
    }

    /**
     * 设置最小费用值
     *
     * @param minAmount
     */
    public void setMinAmount(BigDecimal minAmount) {
        this.minAmount = minAmount;
    }

    /**
     * 获取交易码
     *
     * @return txnCode String
     */
    public String getTxnCode() {
        return txnCode;
    }

    /**
     * 设置交易码
     *
     * @param txnCode
     */
    public void setTxnCode(String txnCode) {
        this.txnCode = txnCode;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }
}